home *** CD-ROM | disk | FTP | other *** search
/ Disc to the Future 2 / Disc to the Future Part II Programmer's Reference (Wayzata Technology)(6013)(1992).bin / MAC / THINKC / TCL1 / JOHNLOVE / SAREZ_RE / MY.R < prev   
Text File  |  1992-02-26  |  14KB  |  556 lines

  1. // "my.r"
  2. //
  3. // -- using "SARez"    { v 3.2 }
  4.  
  5.  
  6.  
  7. // The new "Types.r" resource description file for System 7
  8. // adds an unsigned integer field to each of the following.
  9. // The added field pertains to window positioning:
  10. //
  11. //        type    'ALRT'
  12. //        type    'DLOG'
  13. //        type    'WIND'
  14.  
  15. #define    SystemSevenOrLater    true
  16. #define    oldTemp    true            /* "Somin" so I do NOT have to specify */
  17.                                 /*        0x0,        { wCSeed }           */
  18.                                 /*        0,            { wCReserved }     */
  19.                                 /* for every Color Table               */
  20.                                 /* ... but I wanna !!!    So sue me !!!  */
  21.  
  22. #ifndef    _TYPES_
  23. #include    "Types.r"
  24. #endif
  25.  
  26. #ifndef    _MACAPPTYPES_
  27. #include    "MacAppTypes.r"
  28. #endif
  29.  
  30. // #ifndef    _VIEWTYPES_
  31. // #include    "ViewTypes.r"
  32. // #endif
  33.  
  34. #ifndef    _BALLOONTYPES.R_
  35. #include    "BalloonTypes.r"
  36. #endif
  37.  
  38. #include    "TCLTypes.r"
  39.  
  40. #ifndef _H_Commands
  41. #include    "Commands.h"
  42. #endif
  43.  
  44. #ifndef _H_Constants
  45. #include    "Constants.h"
  46. #define        ALRT_Assert        ALRT_ExceptionAbort+1
  47. #endif
  48.  
  49. /* ----- standard TCL stuff ... ----- */
  50.  
  51. /* ALRTs & DITLs    (IDs: 128, 129, 150, 151, 200, 250->253, 300),
  52. ** scroll bar CNTL    (ID: 300),
  53. ** 2 Estr            (resNotFound = -192, memFullErr = -108),
  54. ** MBAR (ID = 1) which the TCL uses to form the Menu Bar &
  55. **               which includes the 1st three MENUs below,
  56. ** MENUs: Apple(1), File(2), Edit(3), Font(10), Size(11), Style(12)
  57. ** the grow SICN    (ID: 200),
  58. ** STRs        ("Save File As:"            = 150,
  59. **             "Mac OS Error Encountered"    = 300,
  60. **             "of a Mac OS Error"        = 301),
  61. ** STR#s    (Common                        = 128,
  62. **             Memory Warnings            = 129,
  63. **             Task Names                    = 130,
  64. **             Exceptions                    = 131,
  65. **             Dlg validation                = 133)
  66. ** WINDs    (Clipboard                    = 200,
  67. **             Starter window                = 500)                        */
  68.  
  69. include    "Starter.╣.rsrc" not 'MENU';        // I'm gonna replace them below ...
  70.  
  71. /* ----- my stuff ... ----- */
  72.  
  73. include    "System 7";
  74. include    "MoofSND";
  75. include    "myPICTs";                    // Contains the following:
  76.                                     //        ID = 3000    ( Color Mac       )
  77.                                     //        ID = 3001    ( IACS Logo       )
  78.                                     //        ID = 3002    ( WAP Initials )
  79. include    "Bill (B&W)";                /* Help Manager has problems with PICTs
  80.                                     **   in 'hfdr' resource that do NOT have
  81.                                     **   a rect whose topLeft = (0, 0).      */
  82. include "myCursors";                /* 1) color Hand (ID = 3004)
  83.                                     ** 2) acurs:
  84.                                     **        a) Rotating Earth (ID = 128)
  85.                                     **        a) DogCow          (ID = 129)     */
  86.  
  87.  
  88.  
  89. /* ----- Constants ----- */
  90.  
  91. #define    kVersID                0        /* Finder stuff ... */
  92. #define    kTopStringID        2
  93. #define    kBottomStringID        1
  94. #define    kLocalID            0
  95. #define    kBNDL_ID            128
  96. #define    kFREF_ID            128
  97. #define    kICN_ID                128
  98. #define    mySicnRsrc            300                    /* rsrc ID */
  99. #define    mySicn                mySicnRsrc - 256    /* "About ..." Item Icon's # */
  100. #define    myIconRsrc            400                    /* rsrc ID */
  101. #define    myIcon                myIconRsrc - 256    /* "Quit" Item Icon's # */
  102. //
  103. #define    kMAC                3000
  104. #define    kWAP                3002
  105. #define    kBragWindowID        999
  106. #define    kSystem7            777        /* ID of "System 7" PICT */
  107. #define    kMeter                111
  108.  
  109.  
  110.  
  111. type    'JAL3'    {                            /* TYPE = Signature */
  112.     pstring;
  113. };
  114.  
  115. /* ---------- */
  116.  
  117. type    'vers'    {
  118.     byte        defaultVersion = 1;            /* version            */
  119.     byte        defaultRevision = 5;        /* revision           */
  120.     byte        defaultRevStage = 128;        /* revStage           */
  121.     byte        defaultBuildNbr = 2;        /* buildNbr           */
  122.     integer        defaultLang = 0;            /* languageInt        */
  123.     pstring;                                /* abbreviated string */
  124.     align    word;
  125.     pstring;
  126. };
  127.  
  128. /////////////////////
  129.  
  130. resource    'JAL3'    (kVersID, "Version", purgeable)    {
  131.     "My CShell {v 1.»}"
  132. };
  133.  
  134. resource    'BNDL'    (kBNDL_ID, purgeable)    {
  135.     'JAL3',                                /* Signature  */
  136.     kVersID,
  137.     { 
  138.         'FREF',
  139.         {
  140.             kLocalID, kICN_ID;            /* Local, Actual ID(s) */
  141.         };
  142.  
  143.         'ICN#',
  144.         {
  145.             kLocalID, kICN_ID;
  146.         };
  147.     };
  148. };
  149.     
  150. resource    'FREF'    (kFREF_ID, "Application", purgeable)    {
  151.     'APPL',
  152.     kLocalID,
  153.     "my CShell DEMO"
  154. };
  155.  
  156. resource    'ICN#'    (kICN_ID, "IACS", purgeable)    {
  157.     {    /* Data */
  158.         $"00000000 00000000 6040FC7E 60E0FC7E"
  159.         $"61B0C060 6318C060 6318C060 6318C060"
  160.         $"6318C060 6318C060 6318C060 6318C060"
  161.         $"63F8C07E 63F8C07E 6318C006 6318C006"
  162.         $"6318C006 6318C006 6318C006 6318C006"
  163.         $"6318C006 6318C006 6318C006 6318FC7E"
  164.         $"6318FC7E 00000000 00000000 00000000"
  165.         $"7FFFFFFE 7FFFFFFE 00000000 00000000";
  166.  
  167.         /* Mask */
  168.         $"FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF"
  169.         $"FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF"
  170.         $"FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF"
  171.         $"FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF"
  172.         $"FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF"
  173.         $"FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF"
  174.         $"FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF"
  175.         $"FFFFFFFF FFFFFFFF FFFFFFFF FFFFFFFF";
  176.     };
  177. };
  178.  
  179. resource    'vers'    (kTopStringID, purgeable)    {
  180.     defaultVersion,
  181.     defaultRevision,
  182.     defaultRevStage,
  183.     defaultBuildNbr,
  184.     defaultLang,
  185.     "⌐91",
  186.     "⌐1991   IÑAÑCÑS Software"
  187. };
  188.  
  189. resource    'vers'    (kBottomStringID, purgeable)    {
  190.     defaultVersion, defaultRevision, defaultRevStage,defaultBuildNbr, defaultLang,
  191.     "1.»",
  192.     "1.» ... in color too, folks !!"
  193. };
  194.  
  195. resource    'SIZE'    (-1, purgeable)        {
  196.     dontSaveScreen,
  197.     acceptSuspendResumeEvents,
  198.     enableOptionSwitch,
  199.     canBackground,
  200.     multiFinderAware,
  201.     backgroundAndForeground,
  202.     dontGetFrontClicks,                /* ... when suspended */
  203.     ignoreChildDiedEvents,
  204.     not32BitCompatible,
  205.     isHighLevelEventAware,
  206.     onlyLocalHLEvents,
  207.     notStationeryAware,
  208.     dontUseTextEditServices,
  209.     reserved,
  210.     reserved,
  211.     reserved,
  212.     384*1024,
  213.     224*1024
  214. };
  215.  
  216. /////////////////////
  217.  
  218. resource    'SICN'  (mySicnRsrc, "IACS", purgeable) {
  219.     {
  220.         $"FFFF"
  221.         $"FFFF"
  222.         $"B311"
  223.         $"AD77"
  224.         $"AD77"
  225.         $"AD77"
  226.         $"AD77"
  227.         $"AD77"
  228.         $"A171"
  229.         $"AD7D"
  230.         $"AD7D"
  231.         $"AD7D"
  232.         $"AD7D"
  233.         $"AD11"
  234.         $"FFFF"
  235.         $"FFFF"
  236.     };
  237. };
  238.  
  239. /////////////////////
  240.  
  241. resource    'cicn'    (myIconRsrc, "Face", purgeable)    {
  242.     // *
  243.     // ********** IconPMap **********
  244.     // *
  245.     // $00000000        /* fill long = pBaseAddr                   */
  246.     // unsigned bitstring[1] = 1    pRowBytes = $8000 +
  247.     // unsigned bitstring[2] = 0
  248.     $0010,                /* pMapRowBytes = pixelSize * rowBytes(4) */
  249.     { 0, 0, 32, 32 },    /* bounds                                   */
  250.     0,                    /* pmVersion                               */
  251.     0,                    /* packType                               */
  252.     0,                    /* packSize                               */
  253.     $00480000,            /* hRes                                   */
  254.     $00480000,            /* vRes                                   */
  255.     chunky,                /* pixelType                               */
  256.     4,                    /* pixelSize                               */
  257.     1,                    /* cmpCount                               */
  258.     4,                    /* cmpSize = pixelSize                       */
  259.     0,                    /* planeBytes                               */
  260.     0,                    /* pmTable                                   */
  261.     // 00000000            /* fill long = pmReserved                   */
  262.     // *
  263.     // ********** IconMask **********
  264.     // *
  265.     // 00000000            /* fill long = mBaseAddr */
  266.     4,                    /* maskRowBytes          */
  267.     { 0, 0, 32, 32 },    /* mbounds                 */
  268.     // *
  269.     // ********** IconBMap **********
  270.     // *
  271.     // 00000000            /* fill long = 1BaseAddr */
  272.     4,                    /* iconBMapRowBytes         */
  273.     { 0, 0, 32, 32 },    /* 1bounds                 */
  274.     // *
  275.     // ********** IconData **********
  276.     // *
  277.     // 00000000            /* fill long = Placeholder for Handle. */
  278.     // *
  279.     // ********** MaskData **********
  280.     // *
  281.     // hex string [$$Word(maskRowBytes) * ($$BitField(Bounds, 32, 16) /*bottom*/ -
  282.     //                                       $$BitField(Bounds, 0, 16)  /*top*/      ]
  283.     $"00BFEF80 01BFBFC0 03FFFFE0 0EFFFFF0"
  284.     $"07FFFFF8 0FFFFFF0 0FFFFFF8 1FFFFFF8"
  285.     $"0FFFFFFC 3FFFFFFE 3FFFFFFE 1FFFFFFE"
  286.     $"7FFFFFFE 3FFFFFFC 7FFFFFFE 3FFFFFFE"
  287.     $"7FFFFFFE 1FFFFFFE 0FFFFFFE 1FFFFFFE"
  288.     $"0FFFFFFF 07FFFFF8 01FFFFF0 00FFFFC0"
  289.     $"00FFFEC0 00FFFFF8 01FFFFFF 03FFFFFF"
  290.     $"1FFFFFFE 7FFFFFE0 FFFFFFC0 01FFFF00",
  291.     // *
  292.     // ********** BMapData **********
  293.     // *
  294.     // hex string [$$Word(iconBMapRowBytes) * ($$BitField(Bounds, 32, 16) /*bottom*/ -
  295.     //                                              $$BitField(Bounds, 0, 16)  /*top*/    ]
  296.     $"0017C300 00BFAF80 01B7FFC0 06EFB7E0"
  297.     $"03F73AF0 07D40960 05C20330 0FA00230"
  298.     $"07800138 1D8001FC 178000DC 0F8000FC"
  299.     $"3FBA2F6C 1BBDDC88 3B566A4C 190A1D4C"
  300.     $"3C024054 0C8640BC 07742E3C 0F034034"
  301.     $"058FF87A 029BECD0 009C1CA0 0043E080"
  302.     $"0061C280 00400070 0050044E 00C80861"
  303.     $"0783E060 18800040 20C000C0 00600300",
  304.     // *
  305.     // ********** PMapCTab **********
  306.     // *
  307.     0x0,                                    /* ictSeed */
  308.     0,                                        /* ictFlags */
  309.     // integer = $$Countof(ColorSpec) - 1    /* ctSize */
  310.     // *
  311.     // ********** startICT **********
  312.     // *
  313.     {
  314.         0, $FFFF, $FFFF, $FFFF;        /* white       */
  315.         1, $FFFF, $B95B, $AD15;        /* light flesh */
  316.         2, $FFFF, $8978, $70E4;        /* dark flesh  */
  317.         3, $DD6B, $08C2, $06A2;        /* red         */
  318.         4, $7EFF, $41F2, $22FD;        /* brown       */
  319.         5, $0000, $0000, $D400;        /* blue        */
  320.         6, $0000, $0000, $0000;        /* black       */
  321.     },
  322.     // *
  323.     // ********** endICT **********
  324.     // *
  325.     // ********** PMapData **********
  326.     // *
  327.     // hex string [$$BitField(pMapRowBytes, 0, 13) * 
  328.     //               ($$BitField(Bounds, 32, 16) /*bottom*/ -
  329.     //                $$BitField(Bounds, 0, 16)  /*top*/      ]
  330.     $"00000000 00060666 66000066 00000000"
  331.     $"00000000 60666666 60606666 60000000"
  332.     $"00000006 60660666 66666666 66000000"
  333.     $"00000660 66616666 61661666 66600000"
  334.     $"00000066 66661666 11666161 66660000"
  335.     $"00000666 66161611 11116116 16600000"
  336.     $"00000606 66111161 11111166 11660000"
  337.     $"00006666 61611111 11111161 11660000"
  338.     $"00000666 61111111 11111116 11666000"
  339.     $"00066606 61111111 11111116 66666600"
  340.     $"00060666 61111111 11111111 66166600"
  341.     $"00006666 61111111 11111111 66666600"
  342.     $"00666666 33333131 13333331 16616600"
  343.     $"00066163 41444313 34144413 61116000"
  344.     $"00666163 14141321 34414143 16116600"
  345.     $"00066113 11114321 31144413 16116600"
  346.     $"00666613 11111321 31111113 16160600"
  347.     $"00006611 33333121 13333331 61666600"
  348.     $"00000666 11111211 11111111 11666600"
  349.     $"00006666 11111122 12111111 11660600"
  350.     $"00000606 11112222 22222111 16666060"
  351.     $"00000060 11122122 22212211 66060000"
  352.     $"00000000 11122211 11122211 10600000"
  353.     $"00000000 01111122 22211111 10000000"
  354.     $"00000000 01111112 22111121 10000000"
  355.     $"00000000 02111111 11111211 55550000"
  356.     $"00000000 51121111 11112111 55555550"
  357.     $"00000005 51112111 11121111 55555550"
  358.     $"00005555 11111222 22111111 55555500"
  359.     $"00555555 55555555 55555555 55000000"
  360.     $"05555555 55555555 55555555 50000000"
  361.     $"00000000 55555555 55555550 00000000"
  362. };
  363.  
  364. /* ---------- */
  365.  
  366. // Mac SE-&-below-version for the above:
  367.  
  368. resource    'ICON'    (myIconRsrc, "Face", purgeable)    {
  369.     $"0017C300 00BFAF80 01B7FFC0 06EFB7E0 03F73AF0 07D40960 05C20330 0FA00230"
  370.     $"07800138 1D8001FC 178000DC 0F8000FC 3FBA2F6C 1BBDDC88 3B566A4C 190A1D4C"
  371.     $"3C024054 0C8640BC 07742E3C 0F034034 058FF87A 029BECD0 009C1CA0 0043E080"
  372.     $"0061C280 00400070 0050044E 00C80861 0783E060 18800040 20C000C0 00600300"
  373. };
  374.  
  375. /////////////////////
  376.  
  377. resource    'WIND'    (kSystem7, "System 7", purgeable)    {
  378.     {91, 206, 251, 306},
  379.     plainDBox,
  380.     visible,
  381.     nogoAway,
  382.     0x0,
  383.     "",                                /* NO title for this type */
  384.     centerMainScreen
  385. };
  386.  
  387. resource    'WIND'    (kBragWindowID, "Brag", purgeable)    {
  388.     {60, 40, 165, 415},                // Holds the "IACS" PICT.
  389.     altDBoxProc,
  390.     invisible,
  391.     nogoAway,
  392.     0x0,                            /* Refcon */
  393.     "",                                /* NO title for this type */
  394.     centerMainScreen
  395. };
  396.  
  397. resource    'WIND'    (kWAP, "Scroll", purgeable)    {
  398.     {60, 40, 165, 415},                // Holds the "WAP" PICT.
  399.     noGrowDocProc,
  400.     invisible,
  401.     nogoAway,
  402.     0x0,
  403.     "Spiffy, Ain╒t It !*?*!",
  404.     centerMainScreen
  405. };
  406.  
  407. resource    'WIND'    (kMeter, "Meter", purgeable)    {
  408.     {60, 40, 130, 340},
  409.     rDocProc,
  410.     invisible,
  411.     nogoAway,
  412.     0x0,
  413.     "",
  414.     centerMainScreen
  415. };
  416.  
  417. include "Windoid";                // Special WDEF for Floating Windows.
  418. #define kWindoid    104
  419.  
  420. /* MDEF "jmp" sequence(s) for various Menus. By convention, each MDEF ID
  421. ** matches the ID of the Menu being torn off.  For this demo, we will
  422. ** tear-off ONLY one Menu and gBartender->IBartender will load it from
  423. ** my 'MBAR' resource.  Note also that for the sake of consistency I have
  424. ** made the associated WIND ID(s) also match the MENU ID(s).  After all,
  425. ** we could have more than one torn-off menu/window.                    */
  426.  
  427. #define kTearMenu    1000
  428. #define kMDEF        kTearMenu    // Apple reserves 0 -> 127.
  429. include "MDEFs";
  430. /* ----- */
  431. resource    'MENU'    (kTearMenu, "1st Floating Tearoff Menu", purgeable)    {
  432.     kTearMenu,
  433.     kTearMenu,        // By TCL convention, MDEF ID = Menu ID.
  434.     0x7FFFFFFF,
  435.     enabled,
  436.     "Tear off this hummer !!!",
  437.     {
  438.         // Item(s) drawn ╥on-the-fly╙ by MDEF╒s DrawMenu method.
  439.     }
  440. };
  441.  
  442. resource    'WIND'    (kTearMenu, "1st Floating Tearoff Menu", purgeable)    {
  443.     {40,  40, 110, 112},
  444.     1668,                        // = 16*kWindoid + noGrowDocProc
  445.     invisible,
  446.     goAway,
  447.     0x0,
  448.     "",
  449.     noAutoCenter
  450. };
  451.  
  452. /////////////////////
  453.  
  454. resource 'MBAR' (MBARapp, "MBAR", purgeable)    {
  455.     {    /* array MenuArray: 4 elements */
  456.         /* [1] */
  457.         mApple,
  458.         /* [2] */
  459.         mFile,
  460.         /* [3] */
  461.         mEdit,
  462.         /* [4] */
  463.         kTearMenu
  464.     }
  465. };
  466.  
  467. resource    'MENU'    (mApple, "Apple", purgeable)    {
  468.     mApple,
  469.     textMenuProc,
  470.     0x7FFFFFFD,
  471.     enabled,
  472.     apple,
  473.     {
  474.     /* [ 1] */ "Read all about it, folks ...#256",
  475.                mySicn, "\0x1E", noMark, plain;
  476.     /* [ 2] */ "-", noIcon, noKey, noMark, plain;
  477.     }
  478. };
  479.  
  480. /* ----- */
  481.  
  482. resource    'MENU'    (mFile, "File", purgeable)    {
  483.     mFile,
  484.     textMenuProc,
  485.     0x7FFFFFFD,
  486.     enabled,
  487.     "File",
  488.     {
  489.     /* [ 1] */ "Making Progress ...#1024", noIcon, noKey, noMark, bold  ;
  490.     /* [ 2] */ "-"                       , noIcon, noKey, noMark, plain ;
  491.     /* [ 3] */ "Quit#1"                  , myIcon, "Q"  , noMark, italic;
  492.     }
  493. };
  494.  
  495. /* ----- */
  496.  
  497. resource    'MENU'    (mEdit, "Edit", purgeable)    {
  498.     mEdit,
  499.     textMenuProc,
  500.     0x7FFFFFFD,
  501.     enabled,
  502.     "Edit",
  503.     {
  504.     /* [ 1] */ "Undo#16" , noIcon, "Z"  , noMark, plain;
  505.     /* [ 2] */ "-"       , noIcon, noKey, noMark, plain;
  506.     /* [ 3] */ "Cut#18"  , noIcon, "X"  , noMark, plain;
  507.     /* [ 4] */ "Copy#19" , noIcon, "C"  , noMark, plain;
  508.     /* [ 5] */ "Paste#20", noIcon, "V"  , noMark, plain;
  509.     /* [ 6] */ "Clear#21", noIcon, noKey, noMark, plain;
  510.     }
  511. };
  512.  
  513. /////////////////////   Balloon Help goodies ... /////////////////////
  514.  
  515. resource    'hfdr'    (kHMHelpID, "Finder help", purgeable)    {
  516.  
  517.     HelpMgrVersion,
  518.     hmDefaultOptions,
  519.     0,                            /* balloon definition function */
  520.     0,                            /* variation code */
  521.     {    /* HFdrArrays ... */
  522.         HMPictItem    {
  523.             999                    // Picture Resource ID
  524.                                 //        "Ain╒t he cute?!*!?\n"
  525.                                 //        "   Courtesy of:\n"
  526.                                 //        "IÑAÑCÑS Software",
  527.         };
  528.     };
  529.  
  530. };
  531.  
  532. /*--------*/
  533.  
  534. resource    'hmnu'    (kHMHelpMenuID, "my Help Menu item", purgeable)    {
  535.  
  536.     HelpMgrVersion,
  537.     hmDefaultOptions,
  538.     0,                            /* balloon definition function */
  539.     0,                            /* variation code */
  540.     HMSkipItem    {
  541.     /* no missing items */
  542.     },
  543.     /* NO Menu Title items for this special case. */
  544.     /* The Help Manager processes Balloons for    */
  545.     /* all the standard Help Menu items.          */
  546.     {    /* my added item */
  547.         HMStringItem    {
  548.             "Watch the spiffy fireworks !!!",    /* enabled */
  549.             "Item is dimmed.",
  550.             "Item is checked.",
  551.             ""                                    /* Item canNOT be otherwise marked. */
  552.         };
  553.     };            /* End of Menu Title + items */
  554.  
  555. };
  556.